package com.party.core.service.crowdfund;
import com.party.common.paging.Page;
import com.party.core.model.crowdfund.MemberWithdrawalFund;
import com.party.core.model.wallet.CrowdfundEventWithdrawalsOutput;
import com.party.core.service.IBaseService;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;


/**
 * 会员提现资金服务接口
 * Created by hqh
 *
 * @date 2018/10/10 0025
 * @time 19:25
 */

public interface IMemberWithdrawalFundService extends IBaseService<MemberWithdrawalFund> {

    /**
     * 通过订单的支付时间查询所有机构的众筹成功的可提现金额
     *
     * @param queryDate 查询时间
     * @return
     */
    List<MemberWithdrawalFund> getMemberEventWithdrawalFund(String queryDate,Map<String,Object> params);


    /**
     * 通过订单的支付时间查询所有机构的众筹成功的人数
     *
     * @param eventId 主题id
     * @param queryDate 查询时间
     * @return
     */
    Integer countBySuccessDate( String eventId, String queryDate,Integer sign,Map<String,Object> params);

    /**
     * 通过MemberWithdrawalFund实体查询
     *
     * @param memberWithdrawalFund
     * @return
     */
    MemberWithdrawalFund findByMemberWithdrawalFund(MemberWithdrawalFund memberWithdrawalFund);


    /**
     * 通过MemberWithdrawalFund实体查询总可提现金额
     *
     * @param memberWithdrawalFund
     * @return
     */
    Double getMemberCanWithdrawAmount(MemberWithdrawalFund memberWithdrawalFund);


    /**
     * 通过memberId实体查询机构下的可提现主题
     *
     * @param memberId
     * @return
     */
    List<CrowdfundEventWithdrawalsOutput> getMemberEventWithdrawalList(String memberId,Page page);
}
